/**
 * \file CProfils.h
 * \author Corentin Le Bail
 * \date 2009-2012
 * \brief Fichier de déclaration de la class CProfils
 */
//------------------------------------------------------------------------------
#ifndef __CPROFILS_H__
#define __CPROFILS_H__
//------------------------------------------------------------------------------
#include <QSettings>
#include <QList>
#include "CProfil.h"
//------------------------------------------------------------------------------
/**
 * \class CProfils CProfils.h "CProfils.h"
 * \brief Classe list de \ref CProfil.
 */
class CProfils : public QList<CProfil *>
{
	public:
		~CProfils(void);
		/**
		 * \fn static CProfils * getInstance(void);
		 * \return l'instance de la class
		 */
		static CProfils * getInstance(void);
		/**
		 * \fn void write(void)
		 * \brief Ecrit les profils
		 */
		void write(void);
		/**
		 * \fn QString getVersion(void)
		 * \return La dernière version du logiciel exécuté
		 */
		QString getVersion(void) { return _version; }
		/**
		 * \fn void setVersion(QString value)
		 * \brief Affecte la dernière version du logiciel exécuté
		 * \param[in] value La dernière version du logiciel exécuté
		 */
		void setVersion(QString value) { _version=value; }
		/**
		 * \fn CProfil * getCurrentProfil(void)
		 * \return Le profil courant
		 */
		CProfil * getCurrentProfil(void) { return _currentProfil; }
		/**
		 * \fn void setCurrentProfil(QString name)
		 * \brief Affecte le profil courant
		 * \param[in] name Le profil courant
		 */
		void setCurrentProfil(QString name) { _currentProfil=getProfil(name); }
		/**
		 * \fn QSettings *getSettings(void)
		 * \return L'objet QSettings associé à la liste de profil
		 */
		QSettings *getSettings(void) { return _settings; }
		/**
		 * \fn CProfil * getProfil(QString name)
		 * \return Le profil ayant pour nom name
		 * \param[in] name Le nom du profil voulu
		 */
		CProfil * getProfil(QString name);
	private:
		QSettings *_settings;
		QString _version;
		CProfil *_currentProfil;
		
		CProfils(void);
		void read(void);
};
//------------------------------------------------------------------------------
#endif //__CPROFILS_H__
//------------------------------------------------------------------------------